package com.university.evaluation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.university.evaluation.common.ResponseResult;
import com.university.evaluation.domain.dto.UpdateUserDTO;
import com.university.evaluation.domain.dto.UserRegisterDTO;
import com.university.evaluation.entity.User;

public interface UserService extends IService<User> {

    // 用户登录
    User login(String username, String password);

    // 根据用户ID（学号/工号）查询用户
    User findByStudentId(String studentId);

    // 根据用户名查询用户
    User findByUsername(String username);

    // 修改密码
    ResponseResult<Void> updatePassword(Long userId, String oldPassword, String newPassword);

    // 更新用户头像
    ResponseResult<Void> updateUserAvatar(Long userId, String avatarUrl);

    // 重置密码
    ResponseResult<Void> resetPassword(Long userId, String newPassword);

    // 注册用户
    ResponseResult<User> register(UserRegisterDTO userRegisterDTO);

    // 更新用户信息
    ResponseResult<Void> updateUserInfo(Long userId, UpdateUserDTO updateUserDTO);

    // 获取用户详细信息
    ResponseResult<User> getUserInfo(Long userId);

    // 根据学号获取用户详细信息
    ResponseResult<User> getUserInfoByStudentId(String studentId);
}